home *** CD-ROM | disk | FTP | other *** search
- Program Unix_Amiga_Strip;
- {
- Programme Name : Amunix Version : 1.03
- Author : Mark Price Date : 13/2/93
-
- Specification:
-
- The programme must return an ASCII text file, after stripping the
- original file of extra carriage returns.
- }
-
-
- Uses DOS,CRT;
-
- Const
-
- {Temporary File In Ram Used When Output File Is The Input File}
-
- Temp_file = 'RAM:Aminix.Temp';
-
- Var
- Character : Char;
- Unix_File : Text;
- Unix_Name : String;
- Amiga_File : Text;
- Amiga_Name : String;
- Temp_Name : String;
- Res,Count : Integer;
- Error : Integer;
- DosData : SearchRec;
-
- Procedure Convert_Scripts;
-
- {
- Function:
-
- Reads a Character From The Input File, Checks To See If The Value
- Of The Character = CHR(13). If It Isn't Then The Character Is Written
- To The Output File. If It Is Then The Character Is Skipped.
- }
-
- Begin
- Reset(Unix_File,Unix_Name); { Open Unix_File For Reading}
- Error := IOresult;
- If Error <> 0
- Then
- Begin
- WriteLn;
- WriteLn('File ',Unix_Name,' Does Not Exist');
- WriteLn;
- Halt
- End;
-
- Rewrite(Amiga_File,Amiga_Name); { Open Amiga File For Writing }
- Write('Stripping File ');
- TextColor(3);
- Write(Amiga_Name);
- TextColor(1);
- Write(' .... ');
-
- { While Not At The End OF File Read A Character From Unix_File
- If Not a CR then Write The Character To The Amiga_File
- }
-
- While NOT EOF(Unix_File) Do
- Begin
- Read(Unix_File,Character);
- IF Character <> CHR(13)
- Then
- Write(Amiga_File,Character);
- End;
-
- { Close Both The Unix_File and The Amiga_File }
-
- Close(Unix_File);
- Close(Amiga_File);
- WriteLn('Finished')
- End;
-
-
-
- Begin
-
- { Check Number Of Parameters Passed To Program }
-
- Res := ParamCount;
- If (Res<2) And (Res>0)
- Then
- Begin
- WriteLn;
- WriteLn('Too Few Arguements');
- Halt;
- WriteLn
- End;
- If (Res=0) { If No Parameters Passed Display Command Syntax }
- Then
- Begin
- TextColor(3);
- WriteLn;
- WriteLn('© Mark Price 1993 Version 1.03');
- WriteLn('Converts PC/Unix ASCII Files To Amiga ASCII');
- WriteLn;
- TextColor(2);
- HighVideo;
- Write('Amunix ');
- NormVideo;
- TextColor(1);
- WriteLn('<UnixFile> <AmigaFile>');
- HighVideo;
- Write(' -r ');
- NormVideo;
- WriteLn('<FileName> WildCards Accepted');
- WriteLn;
- Halt
- End;
- If (Res>2)
- Then
-
- Begin
- WriteLn;
- WriteLn('Too Many Arguements');
- WriteLn;
- Halt
- End;
-
- Amiga_Name := ParamStr(2); { Amiga_File Name = Second Parameter }
-
-
- If ParamStr(1)='-r' { If First Parameter='-r' Then Execute This }
- Then
- Begin
- { Find First File Matching Amiga_Name }
-
- FindFirst(Amiga_Name,AnyFile,DosData);
- While (DosError=0) Do
- Begin
- With DosData Do
- Amiga_Name := Name;
-
- { Create Copy Of Amiga_File }
- Exec('Copy',Amiga_Name+' '+Temp_File);
-
- Erase(Amiga_Name);
- Unix_Name := Temp_File;
- Convert_Scripts;
- Erase(Temp_File);
- FindNext(DosData)
- End;
- End
- Else
- Begin
- Unix_Name := ParamStr(1);
-
- If Unix_Name = Amiga_Name
- Then
- Begin
- WriteLn;
- WriteLn('Cannot Amunix Onto Same FileName');
- WriteLn;
- Halt
- End;
- Convert_Scripts
- End;
- WriteLn(Chr(7));
- WriteLn
- End.